package PFC_2_3_3.koyicabuto;

import PFC_2_3_3.koyicabuto.BaseDatos.GruposDataBase;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentResolver;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class PrimeraPantalla extends Activity{
	
	//Base de Datos
	private SQLiteDatabase gruposDataBase;
	private GruposDataBase gruposDataBaseHelper;
	
	//Buttons
	private Button botonGuardar;
	private Button botonVerGrupo;
	
	//EditText
	private EditText editNombre;
	private EditText editDescripcion;
	
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.primera_pantalla);
        
        editNombre = (EditText)findViewById(R.id.Nombre);
        editDescripcion = (EditText)findViewById(R.id.Descripcion);
        
        botonGuardar = (Button)findViewById(R.id.BotonGuardar);
        botonVerGrupo = (Button)findViewById(R.id.BotonVerGrupos);
    }
	
	public void onClickBotonGuardar(View view){
		String nombre = editNombre.getText().toString();
		String descripcion = editDescripcion.getText().toString();
		
		guardarGrupo(nombre, descripcion);
	}
	
	public void onClickBotonImagen(View view){
		ContentResolver cr = getContentResolver();
		
		Bitmap bmpYo = BitmapFactory.decodeResource(getResources(),R.drawable.metellica1);
		Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(cr, bmpYo, "METALLICA", "metallica"));
		bmpYo.recycle();
	}
	
	/**
	 * Metodo con el que gurdamos un nuevo grupo y en el caso de que no halla error mostramos un dialogo de corercto.
	 * @param nombre
	 * @param descripcion
	 */
	private void guardarGrupo(String nombre, String descripcion){
		boolean error = false;
		
		gruposDataBaseHelper = new GruposDataBase(this, "GruposDataBase", null, 1);
		gruposDataBase = gruposDataBaseHelper.getWritableDatabase();		
		
		try{
			if(gruposDataBase != null){
				gruposDataBase.execSQL("INSERT INTO GRUPOS (GR_NOMBRE, GR_DESCRIPCION) " +
									   "VALUES('" + nombre + "', '" + descripcion + "')") ;   
			}
			
			gruposDataBase.close();
			
		}catch (Exception e) {
			error = true;
			System.out.println("Excepcion al guardar: " +e.getMessage());
		}
		
		if(!error){
			crearDialogoAlerta();
		}
	}
	
	/**
	 * Metodo con el que mostramos un diálogo de alerta en el caso de que se guarde correctamente un nuevo grupo.
	 */
	private void crearDialogoAlerta()
	{
	    AlertDialog alertDialog = new AlertDialog.Builder(this).create();
	 
	    alertDialog.setTitle("Informacion");
	    alertDialog.setMessage("Grupo guardado correctamente.");
	    alertDialog.setButton("OK", new OnClickListener() {
	        public void onClick(DialogInterface dialog, int which) {
	        }
	    });
	    alertDialog.show();	 
	}
	
	public void onClickBotonVerGrupos(View view){		
		Intent i = new Intent(this, GruposListViewActivity.class );
        startActivity(i);
	}
	
	////////////////////////////////
	////  GETTER'S Y SETTER'S  ////
	//////////////////////////////

	public SQLiteDatabase getGruposDataBase() {
		return gruposDataBase;
	}

	public void setGruposDataBase(SQLiteDatabase gruposDataBase) {
		this.gruposDataBase = gruposDataBase;
	}

	public GruposDataBase getGruposDataBaseHelper() {
		return gruposDataBaseHelper;
	}

	public void setGruposDataBaseHelper(GruposDataBase gruposDataBaseHelper) {
		this.gruposDataBaseHelper = gruposDataBaseHelper;
	}

	public Button getBotonGuardar() {
		return botonGuardar;
	}

	public void setBotonGuardar(Button botonGuardar) {
		this.botonGuardar = botonGuardar;
	}

	public EditText getEditNombre() {
		return editNombre;
	}

	public void setEditNombre(EditText editNombre) {
		this.editNombre = editNombre;
	}

	public EditText getEditDescripcion() {
		return editDescripcion;
	}

	public void setEditDescripcion(EditText editDescripcion) {
		this.editDescripcion = editDescripcion;
	}

	public Button getBotonVerGrupo() {
		return botonVerGrupo;
	}

	public void setBotonVerGrupo(Button botonVerGrupo) {
		this.botonVerGrupo = botonVerGrupo;
	}
}
